﻿using System;

namespace BorgExt
{
    public class SlotDefinition : Qualifiable
    {
        public Contract Contract { get; internal set; }
        public MetaElementCollection<ParamDefinition> ParamDefinitions { get; internal set; }

        public Type Type { get; internal set; }
        public string TypeName { get; internal set; }

        public override bool IsQualified
        {
            get { return Qualifier.IsQualified(this); }
        }

        internal SlotDefinition(int id, string name)
            : base(id, name)
        { }

        public override bool Qualify()
        {
            return Qualifier.InternalWeakQualify(this);
        }

        internal override AssemblyElement GetAssemblyElement()
        {
            return Contract;
        }
    }
}

